import { existsSync } from 'fs';
const file1 = 'package.json';
const file2 = '../demo2';

console.log('--------- 实例 1 ---------')
//检查文件是否存在
if (existsSync(file1)) {//true
    console.log('existsSync 1', '路径存在');
}
//检查目录是否存在
if (existsSync(file2)) {//true
    console.log('existsSync 2', '路径存在');
}

/*
-----------------------------------------------
*/


import { stat } from 'fs';
//检查文件是否存在
stat(file1, (err, stats) => {
    console.log('--------- 实例 2-1 ---------')
    if(err) {
    }else {
        console.log('stat', stats.isDirectory());//stat false
        console.log('stat', stats.size);//stat 233
    }
});
//检查目录是否存在
stat(file2, (err, stats) => {
    console.log('--------- 实例 2-2 ---------')
    if(err) {
    }else {
        console.log('stat', stats.isDirectory());//state true
        console.log('stat', stats.size);//stat 0
    }
});

/*
-----------------------------------------------
*/

import { access, constants } from 'fs';
// 检查当前目录中是否存在该文件。
access(file1, constants.F_OK, (err) => {
    if (err) {
        console.error("no access");
    } else {
        console.log("access", file1, "存在");
    }
});

// 检查文件是否可读。
access(file1, constants.R_OK, (err) => {
    if (err) {
        console.error("no access");
    } else {
        console.log("access", file1, "可读");
    }
});

// 检查当前目录中是否存在文件，是否可写。
access(file1, constants.F_OK | constants.W_OK, (err) => {
    if (err) {
        console.error("no access");
    } else {
        console.log("access", file1, "存在 且 可写");
    }
});